home *** CD-ROM | disk | FTP | other *** search
/ PC Zone 92 / DPPCZ0800.7z / DPPCZ0800.ISO / Demos / Star Trek - Armada / armada_demo.exe / data / Collision.cfg < prev    next >
Text File  |  1999-09-17  |  4KB  |  115 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Collision.cfg
  4. //
  5. // This files contains runtime configuration variables for collision avoidance.
  6. //
  7. // By the Mad Dr. I
  8. //
  9. ///////////////////////////////////////////////////////////////////////////////
  10.  
  11. // Which revision of this file are we using?
  12. #define COLLISION_CONFIG_FILE_REVISION 1
  13.  
  14. // Range Search Parameters
  15. #define AVOIDANCE_USING_RANGE_SEARCH 1
  16.  
  17. // How big is a grid cell in the range search structure?
  18. #define GRID_X_SIZE 256.0
  19. #define GRID_Z_SIZE 256.0
  20.  
  21. // Which modes are on?
  22. // Any or all of the following four modes can be selected or deselected
  23. // together.
  24. // The combo most like the old avoidance is (1,0,0,0).
  25. // The one recommended by the doctor is (1,1,1,0)
  26.  
  27. // COLLISION_DIRECT_REPULSION is a repulsive force pointing directly
  28. // at one object from another.
  29. #define COLLISION_DIRECT_REPULSION 0
  30.  
  31. // COLLISION_LATERAL_REPULSION is a force which causes one object to move
  32. // laterally to take another object out of its direct path.  This keeps two
  33. // objects from being is a "standoff" facing each other trying to get by.
  34. #define COLLISION_LATERAL_REPULSION 1
  35.  
  36. // COLLISION_FULL_POTENTIAL_FIELD uses forces from all really close objects 
  37. // if its value is 1.  Otherwise, the repulsion is only from the single
  38. // closest obstacle.  This makes a noticable difference when several objects
  39. // are close together (cuts down collisions)
  40. #define COLLISION_FULL_POTENTIAL_FIELD 1
  41.  
  42. // COLLISION_REAL_COLLISIONS turns on a check (when 1) to see if two objects
  43. // really could collide given their current velocities.  If not, forces are
  44. // nott applied.  This is potentially expensive, and the parameters would need
  45. // to be tweaked carefully to avoid collisions.
  46. #define COLLISION_REAL_COLLISIONS 0
  47.  
  48. // COLLISION_MARTIN_REPULSION uses Martin^2's famous avoidance algorithm
  49. #define COLLISION_MARTIN_REPULSION 0
  50.  
  51. ///////////////////////////////////////////////////////////////////////////////
  52. // FOR Lateral Repulsion
  53.  
  54. // This is a modifier for the magnitude of lateral 
  55. // forces applied for avoidance
  56. #define LATERAL_AVOIDANCE_MULTIPLIER 120.0 // Was 120.0
  57.  
  58. // This is how many times bigger the danger zone for a collision
  59. // can be than the combined radius of the two objects
  60. #define LATERAL_DANGER_WIDTH 1.0
  61.  
  62.  
  63. ///////////////////////////////////////////////////////////////////////////////
  64. // FOR AIUtil_Detect_2D_Collision
  65.  
  66. // When we're looking to see if there will be a collision with an object
  67. // in some time period, what is the time we say (in seconds)
  68. #define COLLISION_LOOK_AHEAD_TIME 10.0 // Was 2.5
  69.  
  70. // When doing the Real Collision Look ahead, how much bigger than the
  71. // real radius of objects do we consider the objects to be...
  72. #define COLLISION_SAFETY_COEFF 1.5
  73.  
  74. // Should we use the cheap 2D collision or the expensive one?
  75. #define COLLISION_CHEAP_2D_COLLIDE 0
  76.  
  77. ///////////////////////////////////////////////////////////////////////////////
  78. // FOR FindPotentialField
  79.  
  80. // How much more attractive is the final goal than a waypoint?
  81. #define EXTRA_GOAL_ATTRACTION 5.0
  82.  
  83. // Simple multiplier for the effect of repulsion
  84. #define REPULSIVE_COEFFICIENT 1200.0
  85.  
  86. // Simple multiplier for the effect of the new (Martin's) repulsion formula
  87. // Not used anymore, since this is now stored in the ODF file.
  88. #define NEW_REPULSIVE_COEFFICIENT 600.0
  89.  
  90. // By default how far away do we cut off the repulsive effect of an object
  91. // (in meters)
  92. #define DEFAULT_REPULSION_CUTOFF 300.0
  93.  
  94. // Default distance for potential field influence of repulsion
  95. #define DISTANCE_OF_INFLUENCE 110.0
  96.  
  97. ///////////////////////////////////////////////////////////////////////////////
  98. // FOR CliffForce
  99.  
  100. // Additional coefficient for cliffs' repulsive force
  101. #define CLIFF_REPULSION_COEFFICIENT 1.0 // was 3.0
  102.  
  103. ///////////////////////////////////////////////////////////////////////////////
  104. // FOR GotoTask::Goto(void)
  105.  
  106. // How close to a point on our path should we be before we start heading to
  107. // the next point
  108. #define SWITCH_TO_NEXT_POINT_DISTANCE 20.0
  109.  
  110. ///////////////////////////////////////////////////////////////////////////////
  111. // FOR UnitTask::IsStuck(void)
  112.  
  113. // Give some extra time before we call a unit stuck!
  114. #define EXTRA_STUCK_TIME 5.0
  115.